Editor's Note (2023): You are reading an archive from 2014. This wiki concerns the Minecraft mod Ancient Warfare, version 1. Neither this wiki nor this version of the mod are being updated. If you are looking for the sequel, Ancient Warfare 2, visit CurseForge. If you are looking for the indie game series, visit JNI Games. If you are looking for Ancient Warfare the magazine, visit Karwansaray Publishers.

Structure System


Ancient Warfare includes a fully feature template based world-generation and survival-mode structure creation system. The mod ships with several templates included, but more may be created at any time through the use of the creative-mode scanning tool. Scanning and templates feature full support for vanilla blocks including meta-data and tile entities, with full rotation support. Most persistent vanilla entities are also supported, including animals and villagers.


Structure Builder

This item allows you to select a template from the list of loaded templates (those that are in the 'included' directory). The selection GUI can be be opened via right-click. Text may be typed in the text-entry box to filter/sort the list by the entered text (matches will appear at the top, and partial matches below that).
structure_new_builder_gui.png

After a template is selected, it may be generated in the world by selecting a position and left-clicking. A bounding-box will be rendered showing you the bounds of the template as it will be constructed.
structure_new_about_to_build.png

(after left clicking)
structure_new_just_built.png



Structure Scanner

This item can be used to scan structures and create templates for later use. The Structure Scanner item may be found in the Ancient Structures creative tab. This item is only available through the creative tab, no recipe exists, and it is otherwise unavailable in survival games. In order to use it, you must be in creative mode and have operator status on the server you are playing (or cheats enabled if you are playing single-player).

The structure scanner is first used to define a cubic area to scan. To do this you must specify a pair of positions at opposite corners of the structure.

Positions are specified by using left-click. Selected positions may be offset by the side hit by holding shift/sneaking, such as:

Normal:
structure_new_block_select1.png

Offset (sneaking / shift depressed):
structure_new_block_select2.png


Scanning a Structure

Here we have a structure to be scanned:
structure_new_to_scan.png

Step 1

First, find the extremities of what you want to be included. In this case, we want to ensure we get the entire roof and its extensions. It is generally easiest to start with selecting the lower corner first. Here is the lowest-corner of what we want scanned being selected by holding shift to offset it into the air block (no reason to include the ground layer below).
structure_new_block_select3.png

Step 2

Selecting the next corner can be quite a bit more difficult depending upon the structure. In this case, we need to select an air block several blocks above the edge of the roof. To do this, I generally place a few temporary filler blocks to enable selection of that corner:
structure_new_block_select4.png

These blocks can then be removed, as there are a few more steps before scanning is completed.
structure_new_block_select5.png

Step 3

The next step is to specify the build-key and build-facing direction. This is important to determine the orientation of the structure during generation. To properly specify the build-key, you should select the first block that is above ground (not the ground itself), in front of an important feature (generally the front door). When specifying this position, you should be facing towards the 'front' of the structure. Holding shift works here as well to offset for an air block, in case a block is not present where you want the build-key (you may also use temp blocks as with the other corners, but make sure to remove the temp blocks before the last step). Here I am specifying that I want the build key to be the middle stair, right in front of the door. By facing towards the front of the building, I am specifying that this side of the structure should be considered the 'front' when it is generated.

structure_new_block_select6.png


Step 4

Finally, after all three positions (and orientation) are set, the structure is ready for scanning. Make sure you have removed any temporary blocks, and that any entities you wish to be included are in place.

To begin the scan, right click with the scanner item in-hand. This should open the structure-scanner GUI screen:
2014-04-06_15.37.56.png
structure_new_scanner_gui2.png
structure_new_scanner_gui3.png


A brief description of options can be found below; for a more detailed description (or information for any settings not described here) please see the pages on the individual validation types.

After all options have been specified to your liking, you may hit the 'Export' button to finalize your settings and scan the structure.


Scanner GUI Options:


Structure Name -- You should enter the name of the structure here. Spaces are allowed, but special characters are not (these are used as file names for the templates).

Add to game immediately -- If checked, the structure will immediately show up in the Instant Builder structure selection list and be placed into the 'included' templates folder. If world gen and/or survival are enabled, the structure will be inserted into these lists as well. If this is not checked the structure will be placed into the 'export' template directory, and will not be available in game until it has been placed into the 'included' directory and the game restarted.

Validation Settings -- This area covers the various validation properties available for world-generation. If the structure is not meant for world generation, these can be left blank / at their default settings.

Validation Type -- Each button selects a different validation type. These each serve very different and specific purposes. Most structures will be of the 'ground' type. Complete descriptions of each validation type (with examples) can be found on their specific pages.
Ground Underground Sky Harbor Water Underwater Island

Available in Survival -- If checked this template will be available for crafting in the 'Drafting Station' in survival mode.

Enable World Gen -- If checked, this template will be included for world-generation with the provided validation settings.

Is Unique -- If checked, the structure will only spawn a single time during world gen.

Preserve Blocks -- If checked any air blocks in the template will instead leave whatever was there before the template was generated. Mostly used for ruins.

Selection Weight -- Used during world-generation to determine how often to place a particular template. Higher values will be selected more often.

Cluster Value -- Used during world-generation to add some user-configuration to the random-selection process. Generally lower values will generate more often, however the interaction between cluster values in templates and the max value set in the configuration is complex. Please see the section on template selection for more details.

Min Duplicate Distance -- Distance in chunks between instances of this structure, measured from the build-key of the structure.

Border Size -- Used during validation to expand the area validated. Used during generation to smooth the borders of a template into the surrounding landscape. Generally the border size should be equal to the Max Underfill amount.

Max Leveling -- How high above the selected ground level may be cleared of obstructions during generation. Lower settings will encourage smoother placement, but will greatly decrease generation frequency. Higher settings increase generation frequency, but at the cost of the structure 'cutting into' the landscape. Some of this 'cut-in' may be mitigated through the Border Size setting.

Max Underfill -- How far below the selected ground level an area may be to still be considered for generation.

Dimension White List -- If checked, the following dimension list will be treated as a white-list(may only spawn in those specified), otherwise the dimension list will be treated as a black-list(may not spawn in those specified).

Dimension List -- Specify allowed/disallowed dimensions here. Enter the number of the dimension. Multiple dimensions may be specified by using commas to separate the entries (do not include spaces)

Biome White List -- If checked the biome list will be treated as a white list (may only spawn in those specified), otherwise it will be treated as a black-list (may not spawn in those specified).

Select Biomes -- Hit this button to open the biome selection GUI. This simple GUI has a check-box for every biome currently registered in your game. Simply select from the list any biomes you wish to be included/excluded.

Select Blocks -- Hit this button to open the block selection GUI. This GUI displays a list of all world-gen blocks, where you may select the blocks that may be replaced or built-on by this template. The GUI has options to auto-fill from biome and/or add the default vanilla blocks.